In the last few years the recording and playback of digital multi-media presentations has increased drastically. Several systems and technologies exist that define and implement the storage and playback of these digital multimedia presentations. The large majority of these presentations include audio and video, but systems also exist that extend these presentation formats with other synchronized media such as images and text (closed captioning).
The playback of these presentations can be performed on the system where the presentation data itself is stored. In actuality, the data is typically stored in a remote repository, allowing the same data to be accessed by many different viewers. There are two methods by which the viewers (also known as “players” or “clients”) can access the data: by download or by streaming.
When downloading the data the client copies all of the data from the repository to the system on which the client resides and once all data is received the client plays the received data as a local presentation. In a streaming scenario, however, the data is sent to the client and while the client receives the data it is presented in a viewer. Typically no local copy is made of the data in that case. Streaming a remote file to a local client for viewing is also called “Video-On-Demand” (VOD) and the system that transmits the data is often called the “server.”
Many existing presentation viewers support a looping mode, where the same source is played over-and-over again. The looping mode applies both to local playback and to streamed playback. One example of a situation where viewers may be used in looping mode is an in-store display where a commercial video is shown repeatedly. In this situation the achieved objective is to automatically play the same presentation repeatedly without requiring any user intervention or supervision on either the server or the client system.
One problem that must be overcome in these multimedia looping systems is that switching to a new or other version cannot be accomplished by simply replacing the file with the current version with a new file. Multimedia looped streaming typically works with an opened file and restarting a loop is performed not by asking for the same file but requesting the server to “rewind” or seek to the beginning and restart streaming from thereon, without closing the multimedia source file and re-opening it again. The reason that most viewers realize looping this way is for performance. Closing and re-opening a file and re-establishing the data channels takes time and resources, which the client experiences as a longer delay.
Referring now in specific detail to the drawings, and particularly FIG. 1, there is shown a flow chart of the typical procedure of a viewer that is put into a looping mode for a streamed presentation. In step 110 the viewer contacts the server to request streaming of a certain stored presentation. Next, in step 120 the server begins streaming the data to the viewer. The viewer presents the data as the data is received (possibly with some buffering to manage network and bandwidth issues) in step 130. Then, in step 140, when the presentation comes to an end the viewer stays connected to the server and instructs the server to rewind the presentation to the beginning and resume streaming from the presentation starting position.